package com.focus.pay.ali.model.notice;

import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author 赵参谋
 * @version $
 * =========================================================================
 * 变更履历：
 * -------------------------------------------------------------------------
 * 变更编号     变更时间    变更人   变更原因    变更内容
 * -------------------------------------------------------------------------
 * <p>
 * @description：支付宝回调参数
 * @date 2022/1/11 17:22
 **/
@Data
public class AliPayModelOrder {

    /**
     * 通知的发送时间
     */
    private Date notify_time;

    /**
     * 通知的类型
     */
    private String notify_type;

    /**
     * 通知检验 ID
     */
    private String notify_id;

    /**
     * 应用 APPID
     */
    private String app_id;

    /**
     * 编码格式，如：utf-8、gbk、gb2312 等
     */
    private String charset;

    /**
     * 调用的接口版本
     */
    private String version;

    /**
     * 商家生成签名字符所使用的签名算法类型，目前支持 RSA2 和 RSA，推荐使用 RSA2
     */
    private String sign_type;

    /**
     * 异步返回结果的验签
     */
    private String sign;

    /**
     * 支付宝交易凭证号
     */
    private String trade_no;

    /**
     * 原支付请求的商家订单号
     */
    private String out_trade_no;

    /**
     * 商家业务 ID，主要是退款通知中返回退款申请的流水号
     */
    private String out_biz_no;

    /**
     * 买家支付宝账号的 PID。以 2088 开头的纯 16 位数字
     */
    private String buyer_id;

    /**
     * 买家支付宝账号
     */
    private String buyer_logon_id;

    /**
     * 卖家支付宝账号的PID
     */
    private String seller_id;

    /**
     * 卖家的支付宝账号
     */
    private String seller_email;

    /**
     * 交易目前所处的状态
     */
    private String trade_status;

    /**
     * 本次交易支付的订金金额
     */
    private BigDecimal total_amount;

    /**
     * 商家在交易中实际收到的款项
     */
    private BigDecimal receipt_amount;

    /**
     * 用户在交易中支付的可开发票的金额
     */
    private BigDecimal invoice_amount;

    /**
     * 用户在交易中支付的金额
     */
    private BigDecimal buyer_pay_amount;

    /**
     * 使用集分宝支付的金额
     */
    private BigDecimal point_amount;

    /**
     * 退款通知中，返回总退款金额
     */
    private BigDecimal refund_fee;

    /**
     * 商品的标题/交易标题/订单标题/订单关键字
     */
    private String subject;

    /**
     * 该笔订单的备注、描述、明细等
     */
    private String body;

    /**
     * 该笔订单的创建时间
     */
    private Date gmt_create;

    /**
     * 该笔订单买家付款的时间
     */
    private Date gmt_payment;

    /**
     * 该笔订单的退款时间
     */
    private Date gmt_refund;

    /**
     * 该笔订单的结束时间
     */
    private Date gmt_close;

    /**
     * 支付成功的各个渠道金额信息
     */
    private String fund_bill_list;

    /**
     * 公共回传参数
     */
    private String passback_params;

    /**
     * 本订单支付时所使用的所有优惠券信息
     */
    private String voucher_detail_list;
}
